/*
 * utils.h
 *
 *  Created on: 17/02/2013
 *      Author: alex
 */

#ifndef UTILS_H_
#define UTILS_H_

#define EPSILON 0.000005
#define PI atan(1) * 4.0

#define dimensionof(a) (sizeof(a) / sizeof(a[0]))

// Hace un swapping de bits para que coincida con el ordenamiento de bits de esta arquitectura
#define SWAP(x) ( ((x) << 24) | \
         (((x) << 8) & 0x00ff0000) | \
         (((x) >> 8) & 0x0000ff00) | \
         ((x) >> 24) )

#define FIX(x) (*(unsigned *)&(x) = \
         SWAP(*(unsigned *)&(x)))

#endif /* UTILS_H_ */
